package com.joolun.system.mapper;

import java.util.HashMap;
import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.joolun.system.domain.EduCourse;
import com.joolun.system.domain.vo.EduCourseVo;
import org.apache.ibatis.annotations.Param;

/**
 * 招生课程Mapper接口
 * 
 * @author joolun
 * @date 2025-02-25
 */
public interface EduCourseMapper extends BaseMapper<EduCourse>
{
    /**
     * 课程下拉列表,联表直播老师查询
     *
     * @param params 招生课程类型
     * @return 招生课程子类集合
     */
    public List<EduCourseVo> selectCourseAndTeacherList(@Param("params") HashMap<String, String> params);
    /**
     * 查询招生课程
     * 
     * @param courseId 招生课程主键
     * @return 招生课程
     */
    public EduCourse selectEduCourseByCourseId(Long courseId);
    /**
     * 根据排期id查询课程
     *
     * @param schedulingId 排期id
     * @return 招生课程
     */
    public EduCourse getCourseBySchedulingId(Long schedulingId);
    /**
     * 查询招生课程列表
     * 
     * @param eduCourse 招生课程
     * @return 招生课程集合
     */
    public List<EduCourse> selectEduCourseList(EduCourse eduCourse);

    /**
     * 新增招生课程
     * 
     * @param eduCourse 招生课程
     * @return 结果
     */
    public int insertEduCourse(EduCourse eduCourse);

    /**
     * 修改招生课程
     * 
     * @param eduCourse 招生课程
     * @return 结果
     */
    public int updateEduCourse(EduCourse eduCourse);

    /**
     * 删除招生课程
     * 
     * @param courseId 招生课程主键
     * @return 结果
     */
    public int deleteEduCourseByCourseId(Long courseId);

    /**
     * 批量删除招生课程
     * 
     * @param courseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEduCourseByCourseIds(Long[] courseIds);
}
